de.cebis.moccabox.util
Class RingStack

java.lang.Object
  extended by de.cebis.moccabox.util.RingStack

public class RingStack
extends java.lang.Object

Ringpuffer mit Kapazität n, der bei "erschöpfter Kapazität" "Anfang" überschreibt speichert nach Lifo PRINZIP push/pop.

Author:
schmitz

Constructor Summary
RingStack()
          Parameterloser Konstruktor zum Erzeugen eines neuen RingStack.
RingStack(int n)
          erzeugt Ringpuffer mit Kapazität n
 
Method Summary
 java.lang.Object elementAt(int index)
          Returns the component at the specified index, index is zerobased
 java.lang.Object[] getElements()
          Copies the components of the buffer into the specified array.
 java.lang.Object[] getElementsReverse()
          Copies the components of the buffer into the specified array.
 boolean isCapacityReached()
          ist Kapazität ausgeaschöpft dann werden beim push alte Els überschrieben return true(Kapazität ausgeschöpft )/false
static void main(java.lang.String[] args)
           
 java.lang.Object peek()
          liefert letztes Element des RingPuffers ohne dies zu entfernen
 java.lang.Object pop()
          liefert letztes Element des RingPuffers und entfernt dieses aus dem Buffer
 void push(java.lang.Object ob)
          speichert neues Element
 void removeLastElements(int n)
          löscht die letzten n Elemente wenn n größer anzahl, werden alle Els gelöscht
 int size()
          liefert Anzahl gespeicherter Objekte
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RingStack

public RingStack()
Parameterloser Konstruktor zum Erzeugen eines neuen RingStack.


RingStack

public RingStack(int n)
erzeugt Ringpuffer mit Kapazität n

Parameters:
n - Kapazität des RingPuffers, danach wird überschrieben
Method Detail

pop

public java.lang.Object pop()
                     throws java.util.EmptyStackException
liefert letztes Element des RingPuffers und entfernt dieses aus dem Buffer

Returns:
zuletzt gespeichertes Object
Throws:
NoSuchElementException, - wenn leer
java.util.EmptyStackException

peek

public java.lang.Object peek()
                      throws java.util.EmptyStackException
liefert letztes Element des RingPuffers ohne dies zu entfernen

Returns:
zuletzt gespeichertes Object
Throws:
NoSuchElementException, - wenn leer
java.util.EmptyStackException

isCapacityReached

public boolean isCapacityReached()
ist Kapazität ausgeaschöpft dann werden beim push alte Els überschrieben return true(Kapazität ausgeschöpft )/false


size

public int size()
liefert Anzahl gespeicherter Objekte

Returns:
number

push

public void push(java.lang.Object ob)
speichert neues Element

Parameters:
ob - Objekt, das nach LIFo gespeichert wird

removeLastElements

public void removeLastElements(int n)
löscht die letzten n Elemente wenn n größer anzahl, werden alle Els gelöscht

Parameters:
n - Anzahl der zu löschenden Elemente

getElementsReverse

public java.lang.Object[] getElementsReverse()
Copies the components of the buffer into the specified array. array[0] ist zuletzt gepushtes!!!!


getElements

public java.lang.Object[] getElements()
Copies the components of the buffer into the specified array. array[0] ist zuerst gepushtes!!!!


elementAt

public java.lang.Object elementAt(int index)
                           throws java.lang.ArrayIndexOutOfBoundsException
Returns the component at the specified index, index is zerobased

Parameters:
index - - an index into this buffer (gemäß lifo); 0=last
Returns:
the component at the specified index.
Throws:
java.lang.ArrayIndexOutOfBoundsException - if an invalid index was given.

main

public static void main(java.lang.String[] args)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object